#ifndef WEATHER_ICONS_H
#define WEATHER_ICONS_H

#include "lvgl.h"

// 天气图标C数组声明
// 变量名使用icon_前缀以避免数字开头的问题

// 声明外部变量
extern const lv_image_dsc_t _icon_100;  // 对应100.c中的变量
extern const lv_image_dsc_t _icon_101;  // 对应101.c中的变量
extern const lv_image_dsc_t _icon_102;  // 对应102.c中的变量
extern const lv_image_dsc_t _icon_103;  // 对应103.c中的变量
extern const lv_image_dsc_t _icon_104;  // 对应104.c中的变量
extern const lv_image_dsc_t _icon_150;  // 对应150.c中的变量
extern const lv_image_dsc_t _icon_151;  // 对应151.c中的变量
extern const lv_image_dsc_t _icon_154;  // 对应154.c中的变量
extern const lv_image_dsc_t _icon_300;  // 对应300.c中的变量
extern const lv_image_dsc_t _icon_301;  // 对应301.c中的变量
extern const lv_image_dsc_t _icon_302;  // 对应302.c中的变量
extern const lv_image_dsc_t _icon_303;  // 对应303.c中的变量
extern const lv_image_dsc_t _icon_304;  // 对应304.c中的变量
extern const lv_image_dsc_t _icon_305;  // 对应305.c中的变量
extern const lv_image_dsc_t _icon_306;  // 对应306.c中的变量
extern const lv_image_dsc_t _icon_307;  // 对应307.c中的变量
extern const lv_image_dsc_t _icon_308;  // 对应308.c中的变量
extern const lv_image_dsc_t _icon_309;  // 对应309.c中的变量
extern const lv_image_dsc_t _icon_310;  // 对应310.c中的变量
extern const lv_image_dsc_t _icon_311;  // 对应311.c中的变量
extern const lv_image_dsc_t _icon_312;  // 对应312.c中的变量
extern const lv_image_dsc_t _icon_313;  // 对应313.c中的变量
extern const lv_image_dsc_t _icon_314;  // 对应314.c中的变量
extern const lv_image_dsc_t _icon_315;  // 对应315.c中的变量
extern const lv_image_dsc_t _icon_316;  // 对应316.c中的变量
extern const lv_image_dsc_t _icon_317;  // 对应317.c中的变量
extern const lv_image_dsc_t _icon_318;  // 对应318.c中的变量
extern const lv_image_dsc_t _icon_350;  // 对应350.c中的变量
extern const lv_image_dsc_t _icon_351;  // 对应351.c中的变量
extern const lv_image_dsc_t _icon_399;  // 对应399.c中的变量
extern const lv_image_dsc_t _icon_400;  // 对应400.c中的变量
extern const lv_image_dsc_t _icon_401;  // 对应401.c中的变量
extern const lv_image_dsc_t _icon_402;  // 对应402.c中的变量
extern const lv_image_dsc_t _icon_403;  // 对应403.c中的变量
extern const lv_image_dsc_t _icon_404;  // 对应404.c中的变量
extern const lv_image_dsc_t _icon_405;  // 对应405.c中的变量
extern const lv_image_dsc_t _icon_406;  // 对应406.c中的变量
extern const lv_image_dsc_t _icon_407;  // 对应407.c中的变量
extern const lv_image_dsc_t _icon_408;  // 对应408.c中的变量
extern const lv_image_dsc_t _icon_409;  // 对应409.c中的变量
extern const lv_image_dsc_t _icon_410;  // 对应410.c中的变量
extern const lv_image_dsc_t _icon_456;  // 对应456.c中的变量
extern const lv_image_dsc_t _icon_457;  // 对应457.c中的变量
extern const lv_image_dsc_t _icon_499;  // 对应499.c中的变量
extern const lv_image_dsc_t _icon_500;  // 对应500.c中的变量
extern const lv_image_dsc_t _icon_501;  // 对应501.c中的变量
extern const lv_image_dsc_t _icon_502;  // 对应502.c中的变量
extern const lv_image_dsc_t _icon_503;  // 对应503.c中的变量
extern const lv_image_dsc_t _icon_504;  // 对应504.c中的变量
extern const lv_image_dsc_t _icon_507;  // 对应507.c中的变量
extern const lv_image_dsc_t _icon_508;  // 对应508.c中的变量
extern const lv_image_dsc_t _icon_509;  // 对应509.c中的变量
extern const lv_image_dsc_t _icon_510;  // 对应510.c中的变量
extern const lv_image_dsc_t _icon_511;  // 对应511.c中的变量
extern const lv_image_dsc_t _icon_512;  // 对应512.c中的变量
extern const lv_image_dsc_t _icon_513;  // 对应513.c中的变量
extern const lv_image_dsc_t _icon_514;  // 对应514.c中的变量
extern const lv_image_dsc_t _icon_515;  // 对应515.c中的变量
extern const lv_image_dsc_t _icon_900;  // 对应900.c中的变量
extern const lv_image_dsc_t _icon_901;  // 对应901.c中的变量
extern const lv_image_dsc_t _icon_999;  // 对应999.c中的变量

// 宏定义用于方便访问
#define WEATHER_ICON_100 (&_icon_100)
#define WEATHER_ICON_101 (&_icon_101)
#define WEATHER_ICON_102 (&_icon_102)
#define WEATHER_ICON_103 (&_icon_103)
#define WEATHER_ICON_104 (&_icon_104)
#define WEATHER_ICON_150 (&_icon_150)
#define WEATHER_ICON_151 (&_icon_151)
#define WEATHER_ICON_154 (&_icon_154)
#define WEATHER_ICON_300 (&_icon_300)
#define WEATHER_ICON_301 (&_icon_301)
#define WEATHER_ICON_302 (&_icon_302)
#define WEATHER_ICON_303 (&_icon_303)
#define WEATHER_ICON_304 (&_icon_304)
#define WEATHER_ICON_305 (&_icon_305)
#define WEATHER_ICON_306 (&_icon_306)
#define WEATHER_ICON_307 (&_icon_307)
#define WEATHER_ICON_308 (&_icon_308)
#define WEATHER_ICON_309 (&_icon_309)
#define WEATHER_ICON_310 (&_icon_310)
#define WEATHER_ICON_311 (&_icon_311)
#define WEATHER_ICON_312 (&_icon_312)
#define WEATHER_ICON_313 (&_icon_313)
#define WEATHER_ICON_314 (&_icon_314)
#define WEATHER_ICON_315 (&_icon_315)
#define WEATHER_ICON_316 (&_icon_316)
#define WEATHER_ICON_317 (&_icon_317)
#define WEATHER_ICON_318 (&_icon_318)
#define WEATHER_ICON_350 (&_icon_350)
#define WEATHER_ICON_351 (&_icon_351)
#define WEATHER_ICON_399 (&_icon_399)
#define WEATHER_ICON_400 (&_icon_400)
#define WEATHER_ICON_401 (&_icon_401)
#define WEATHER_ICON_402 (&_icon_402)
#define WEATHER_ICON_403 (&_icon_403)
#define WEATHER_ICON_404 (&_icon_404)
#define WEATHER_ICON_405 (&_icon_405)
#define WEATHER_ICON_406 (&_icon_406)
#define WEATHER_ICON_407 (&_icon_407)
#define WEATHER_ICON_408 (&_icon_408)
#define WEATHER_ICON_409 (&_icon_409)
#define WEATHER_ICON_410 (&_icon_410)
#define WEATHER_ICON_456 (&_icon_456)
#define WEATHER_ICON_457 (&_icon_457)
#define WEATHER_ICON_499 (&_icon_499)
#define WEATHER_ICON_500 (&_icon_500)
#define WEATHER_ICON_501 (&_icon_501)
#define WEATHER_ICON_502 (&_icon_502)
#define WEATHER_ICON_503 (&_icon_503)
#define WEATHER_ICON_504 (&_icon_504)
#define WEATHER_ICON_507 (&_icon_507)
#define WEATHER_ICON_508 (&_icon_508)
#define WEATHER_ICON_509 (&_icon_509)
#define WEATHER_ICON_510 (&_icon_510)
#define WEATHER_ICON_511 (&_icon_511)
#define WEATHER_ICON_512 (&_icon_512)
#define WEATHER_ICON_513 (&_icon_513)
#define WEATHER_ICON_514 (&_icon_514)
#define WEATHER_ICON_515 (&_icon_515)
#define WEATHER_ICON_900 (&_icon_900)
#define WEATHER_ICON_901 (&_icon_901)
#define WEATHER_ICON_999 (&_icon_999)

// 函数声明
const lv_image_dsc_t* get_weather_icon_c_array(int weather_code);

#endif // WEATHER_ICONS_H